/** @format */

import { defineConfig } from 'vite'
import MyVitePlugin from '../plugins/vite-aliases.ts'
// import VitePluginVueGuoguoConfig from "@shixinde/guoguo-vite-plugin-config";
import viteCompression from 'vite-plugin-compression'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import path from 'path'
console.log('---vite.base.config.ts')

export default defineConfig({
  optimizeDeps: {
    exclude: [], // 将指定数组中的依赖不进行依赖预构建
  },
  // envPrefix: "VITE_",  // 配置环境变量前缀
  resolve: {
    alias: {
      '@': path.resolve(__dirname, '../src'),
    },
  },
  server: {
    host: '0.0.0.0',
    port: 8991,
  },
  plugins: [
    vue(),
    MyVitePlugin(),
    viteCompression(), // 压缩插件
    vueJsx(), // 使用 jsx,tsx
    // VitePluginVueGuoguoConfig(
    //     {
    //         envDir: ''
    //     }
    // )
  ],

  build: {
    // 配置打包配置
    rollupOptions: {
      // rollup 配置
      output: {
        assetFileNames: '[name].[ext].[hash]', // 输出的文件名  名称.扩展名.hash值
        // 分包策略
        manualChunks: (id) => {
          if (id.includes('node_modules')) {
            return 'vendor'
          }
        },
      },
    },
    assetsInlineLimit: 4096000, // 4000kb
    outDir: 'dist', // 输出目录
    assetsDir: 'static',
    minify: false, // 打包后不乱码
  },
})
